package com.snsoft.service.user;

import java.sql.SQLException;

import com.snsoft.bean.User;
import com.snsoft.dao.UserDao;
import com.snsoft.exception.PasswordError;
import com.snsoft.exception.UserNotFound;
import com.snsoft.util.EncodeUtils;


/**
 * 
 * @author 慎伟康
 * 
 * @date 2017年10月27日 下午1:03:58
 * 
 * @Description TODO
 *    修改密码接口
 */
public class UpdatePasswordService {
	
	/**
	 * 用户修改密码
	 * @param userID
	 * @param oldPassWord
	 * @param newPassWord
	 * 
	 * @throws SQLException
	 * @throws UserNotFound
	 * @throws PasswordError
	 */
	public void updatePassword(int userID, String oldPassWord, String newPassWord) 
			throws SQLException, UserNotFound, PasswordError {
		UserDao ud = new UserDao();
		User user = ud.getUser(userID);
		if(user == null){
			throw new UserNotFound("该用户不存在！");
		}else{//旧密码校验
			if(!user.getUserPassWord().equals(EncodeUtils.encodeByMd5(oldPassWord))){
				throw new PasswordError("密码错误！");
			}else{//旧密码正确，可修改密码
				ud.updatePassword(userID, EncodeUtils.encodeByMd5(newPassWord));
			}
		}
	}
}
